#pragma once
#include "rendertech.h"
class CRenderAssistLine :
	public RenderTech
{
public:
	CRenderAssistLine(void);
	virtual ~CRenderAssistLine(void);
	virtual HRESULT OnD3D11CreateDevice( ID3D11Device* pd3dDevice, const DXGI_SURFACE_DESC* pBackBufferSurfaceDesc, CDirectoryUtil* pDirUtil, void* pUserContext);
	virtual HRESULT OnD3D11ResizedSwapChain( ID3D11Device* pd3dDevice, IDXGISwapChain* pSwapChain, const DXGI_SURFACE_DESC* pBackBufferSurfaceDesc, CDirectoryUtil* pDirUtil, void* pUserContext );
	virtual void OnD3D11ReleasingSwapChain( void* pUserContext );
	virtual void OnD3D11DestroyDevice( void* pUserContext );
	virtual void OnD3D11FrameRender( ID3D11Device* pd3dDevice, ID3D11DeviceContext* pd3dImmediateContext, CBaseCamera* pViewCamera, CDirectoryUtil* pDirUtil, double fTime,
		float fElapsedTime, void* pUserContext );
	virtual void InitEffectsVariables();
	virtual void ReloadEffectsDebug(ID3D11Device* pd3dDevice, CDirectoryUtil* pDirUtil);

public:
	ID3D11Buffer* m_pAssistLineVB;
	ID3D11InputLayout* m_pAssistLineVBLayout;
	int m_iNumAssistVertices;

	ID3DX11EffectTechnique* m_pRenderTech;
	ID3DX11EffectMatrixVariable* m_pWorldViewProjMat;

	//point data array
	CGrowableArray<PT_VertColor> m_ptArray;
	bool m_bPtsReady;

};

